package cl.loso.melon.server.action;

import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import cl.loso.melon.server.model.GerenciaLVS;
import cl.loso.melon.server.negocio.UsuarioLVSBO;
import cl.loso.melon.server.persistencia.GerenciaLVSDAO;
import cl.loso.melon.server.persistencia.VisitaLVSDAO;
import com.opensymphony.xwork2.ActionSupport;

public class GerenciaLVSAction {
	private static Log log = LogFactory.getLog(GerenciaLVSAction.class);
	private List<GerenciaLVS> gerenciaList;
	private GerenciaLVS gerenciaLVS;
	private String nombre;
	private String id;	
	private boolean existeGerencia;
	
	public String guardarGerencia() {
		try {
			existeGerencia=false;
			if((GerenciaLVSDAO.buscarNombre(nombre)).isEmpty()){
				GerenciaLVS gerencia=new GerenciaLVS(nombre);
				GerenciaLVSDAO.insertar(gerencia);
				existeGerencia=true;
			}
		} catch (Exception e) {
			log.error(e);
		}

		return ActionSupport.SUCCESS;
	}

	public String actualizarGerencia() {
		try {

			GerenciaLVSDAO.actualizar(Long.parseLong(id), nombre);

		} catch (Exception e) {
			log.error(e);
		}

		return ActionSupport.SUCCESS;
	}

	public String obtenerGerencia() {
		try {
			gerenciaList = GerenciaLVSDAO.obtener();
		} catch (Exception e) {
			log.error(e);
		}
		return ActionSupport.SUCCESS;
	}

	public String borrarGerencia() {
		try {
			//borrar tb las metas asociadas
			GerenciaLVSDAO.borrar(Long.parseLong(id));
			VisitaLVSDAO.borrarVisitasPorGerencia(Long.parseLong(id));
			UsuarioLVSBO.actualizarGerenciaUsuarioLVS(id);
		} catch (Exception e) {
			log.error(e);
		}
		return ActionSupport.SUCCESS;
	}

	public String editarGerencia() {
		try {
			gerenciaLVS= GerenciaLVSDAO.getGerenciabyId(Long.parseLong(id));
		} catch (Exception e) {
			log.error(e);
		}
		return ActionSupport.SUCCESS;
	}

	public List<GerenciaLVS> getGerenciaList() {
		return gerenciaList;
	}

	public void setGerenciaList(List<GerenciaLVS> gerenciaList) {
		this.gerenciaList = gerenciaList;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public GerenciaLVS getGerenciaLVS() {
		return gerenciaLVS;
	}

	public void setGerenciaLVS(GerenciaLVS gerenciaLVS) {
		this.gerenciaLVS = gerenciaLVS;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public boolean isExisteGerencia() {
		return existeGerencia;
	}

	public void setExisteGerencia(boolean existeGerencia) {
		this.existeGerencia = existeGerencia;
	}

}
